home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / m68k / tutor.arc / HE.SA < prev    next >
Text File  |  1990-01-05  |  3KB  |  65 lines

  1. HE       IDNT      1,0        HELP Command                           12/01/81
  2.  
  3.          XDEF      HECMD
  4.  SPC 1
  5.          XREF      FIXBUF
  6.          XREF      FIXDATA
  7.          XREF      MACSBUG
  8.          XREF      OUT1CR
  9.          XREF      SOLIST
  10.  
  11. CR       EQU       $D
  12. LF       EQU       $A
  13. EOT      EQU       4
  14.  SPC 2
  15.          SECTION   11
  16.  
  17.  
  18. * HELP  COMMAND
  19. *  PRINT: REGISTERS  AND COMMANDS IN TABLES
  20. HECMD    LEA       MSG002(PC),A5
  21.          BSR       FIXDATA
  22.          BSR       OUT1CR    PRINT
  23.  SPC 1
  24.          LEA       SOLIST(PC),A4       A4 = POINTER TO COMMAND LIST
  25.  SPC 1
  26.          BSR FIXBUF
  27.          MOVE.B    #8,D2     D2 = # CMDS PER LINE
  28. HELP4    MOVE.W    (A4)+,D1   GET 2 BYTE COMMAND
  29.          CMP.W     #$FFFF,D1
  30.          BEQ.S     HELP6     DONE PRINT LAST BUFFER
  31.          ADD.L     #2,A4     BUMP POINTER UP BY 2
  32.          TST.W     D1        IS THE INVISIBLE INDICATOR ON?
  33.          BMI       HELP4     YES... THEN BYPASS THIS ONE
  34.          MOVE.W    D1,D3     SAVE XX FOR "XX" AND "NOXX" IN HELP
  35.          AND.W     #$7F7F,D1 REMOVE CONTROL BITS
  36.          MOVE.W    D1,(A6)+  NO.... MOVE THIS COMMAND TO "PRINT" LINE
  37.          MOVE.L    #'    ',(A6)+       MOVE BLANKS FOR SPACING
  38.          BSR.S     HELP81              PRINT THE LINE IF FULL
  39.          BTST      #7,D3               IS "NO" OPTION SUPPORTED?
  40.          BEQ.S     EOHLOOP             NO...BYPASS THIS COMMAND, ELSE...
  41.          MOVE.W    #'NO',(A6)+         "NO  "   IN MSG
  42.          AND.W     #$7F7F,D3           RESET CONTROL BITS
  43.          MOVE.W    D3,(A6)+            "NOCC"   IN MSG (WHERE CC=COMMAND CODE)
  44.          MOVE.W    #'  ',(A6)+         "NOCC  " IN MSG    "    "    "      "
  45.          BSR.S     HELP81              PRINT THE LINE IF FULL
  46. EOHLOOP  BRA       HELP4               NEXT COMMAND.
  47.  SPC 1
  48. *        DISPLAY LINE OF COMMANDS (IF FULL)
  49.  SPC 1
  50. HELP81   SUB.B     #1,D2     D2 = COUNT OF COMMANDS PER LINE
  51.          BNE.S     HELP85    NOT FULL, JUST RETURN FOR MORE
  52.          BSR       OUT1CR    YES, THEN WRITE IT
  53.          BSR       FIXBUF    SET-UP LINE FOR NEXT COMMANDS
  54.          MOVE.B    #8,D2     D2 = MAX NUMBER CAN BE PLACED IN LINE
  55. HELP85   RTS
  56.  SPC 1
  57. HELP6    BSR       OUT1CR    PRINT ANY REMAINING PORTION
  58. *        BRA       HELP1     SEE IF COMPLETE                       GMP 8-11-81
  59.          BRA       MACSBUG   HELP IS COMPLETE SO RETURN            GMP 8-11-81
  60.  SPC 1
  61. MSG002   DC.B      '.PC .SR .US .SS',CR,LF
  62.          DC.B      '.D0 .D1 .D2 .D3 .D4 .D5 .D6 .D7',CR,LF
  63.          DC.B      '.A0 .A1 .A2 .A3 .A4 .A5 .A6 .A7',CR,LF
  64.          DC.B      '.R0 .R1 .R2 .R3 .R4 .R5 .R6',CR,LF,EOT
  65.          END